/**
 * 
 */
//Flag per identificare se � avvenuta una variazione
var variazione= false;

//Variabile che contiene i campi che hanno subito un cambiamento separati da 
//uno spazio
var modifiche="";
var modificaCitta="";

$(document).ready(function(){
	
	
	
$('select#citta').change(function(){

 
 if(modificaCitta==""){
	 
	 modificaCitta=$(this).attr("id");
	 if(modifiche==""){
			
	   modifiche=modificaCitta;	
	   }
	 else
	   modifiche=modifiche+" "+modificaCitta; 
   }	
 
 //Mostro il pulsante di conferma
 $('div#modificaProfilo').css("height","55px");
 $('div#confermaModifica').css("display", "");
 
});



/**
 * Permette di individuare se nella pagina adibita alla modifica del profilo 
 * utente � stata effettuata una modifica ai dati dell'utente. La funzione si 
 * autoavvia ogni volta che avviene un cambiamento.Salva nella variabile globale 
 * <code>modifiche</code> i campi della form che hanno subito una modifica.
 * 
 */	
$("input").change(function(){
	
	//Setto il flag che identifica il cambiamento a true
	variazione=true;
	
	// array che contiene i campi modificati
	var ArrayModifiche;
	var	trovataModifica;
	
	
	//identifico l'id del campo che ha subito un cambiamento e lo asssegno alla 
	//variabile campoModificato
	var campoModificato=$(this).attr("id");
	

	
	//Se viene modificata la password viene chiesto di reinserirla nuovamente
	//per eseguire un controllo di sicurezza 
	if(campoModificato=="password"){
		
		$('tr.confermaUserPw').css("display", "");
		$('input#confermaPassword').focus();
	 }
	
	//Identifico la prima modifica e assegno l'id del campo modificato a modifica
	if(modifiche==""){
		
	   modifiche=campoModificato;	

	  }
	
	//Controllo che il campo modificato non sia gia stato modificato
	else{
		
		if(campoModificato!="confermaPassword"){
		 //Creo l'array contente, in modo univoco, l'id dei campi modificati
	     ArrayModifiche=modifiche.split(" ");
	     
	     //Controllo che il campo modificato non sia gia presente nell'array 
	     //univoco degli id dei campi modificati
	     trovataModifica=ArrayModifiche.indexOf(campoModificato);
	     
	     //se  trovataModifica==-1 significa che l'array modifiche non contiene
	     //l'id del campo modificato, quindi lo aggiungo alla lista   
	     if(trovataModifica==-1)
	      {

	       modifiche=modifiche+" "+campoModificato;
	      }
	     
	    
	      }
	     }
	
	 
	    
	    if(variazione)
	     { 
	      $('div#modificaProfilo').css("height","55px");
	      $('div#confermaModifica').css("display", "");
	      
	     }
  });


	
});




/**
 * Una volta che il pulsante di conferma � visibile e risulta essere stato 
 * cliccato permtte di eliminare la visualizzazione di esso.
 */
function RichiestaModifica(){
    var modificaPassword=1;
	var campiDaModificare;
	
	campiDaModificare=modifiche.split(" ");
	
	//Controllo che tra le modifiche non vi sia la modifica della password
	if(campiDaModificare.indexOf("password")==-1)
	 {
		modificaPassword=0;
	 }	
//Controllo che i campi inseriti siano corretti
if(Modulo(modificaPassword)==true){


	var i=0;
	var campi="";
	var Array=modifiche.split(" ");
	
//Estraggo i valori dei campi modificati � creo una stringa campoModificato='modifica' 	
	for(i=0;i<Array.length;i++){
		var r=$('#'+Array[i]).val();
	if(Array[i]=="citta")
     {
		 r=$('#'+Array[i]).val().substring(5);

     }
	
	 if(i==0){
		 
		campi=Array[i]+"='"+r+"'"; 
	  }
	 
     else{
		campi=campi+","+Array[i]+"='"+r+"'";
	  }
	}

	
	
	//Inoltro della richiesta per la modifica del profilo
	$.ajax({ 
		type:"POST",//mettendo post non visualizzo i parametri nell'url
		url:"ApportaModificaProfilo.jsp",
		data:{
			//Passo al pagina la stringa contenete i campi modificati
			modificheEffettuate:campi

		},  

		success:function(data){   //data sono i dati passati dalla pagina jsp invocata

			//Inserisco la risposta del server nel div con id=errore 
			$("#risposta").html(data);

			//Elimino la visualizzazione del pulsante conferma
			$('div#confermaModifica').css("display", "none");
			$('div#modificaProfilo').css("height","");

			//Informo l'utente che la modifica del profilo e' avvenuta correttamente
			alert("Modifiche al profilo apportate correttamente.");

		}
	});
  }
else{
 alert("Modifica del profilo utente NON eseguita.");	
 }

}	